Tarea 3
# carga del paquete Tydediverse
library(tidyverse)# carga del paquete DT para generar tabla con los registros de presencia de felinos
library(DT)
felinos |>
select(Especie, Provincia, Localidad, Fecha)|>
datatable(options = list(
pageLength = 7,
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
))# Cambio de tipo de datos de las columnas year, month y day
felinos <-
felinos |>
mutate(year = as.numeric(format(Fecha,'%Y'))) |>
mutate(month = as.numeric(format(Fecha,'%m'))) |>
arrange((month))|>
mutate(day = as.numeric(format(Fecha,'%d')))library(plotly)
#generación de gráfico de barras apiladas que muestre la cantidad de registros de felinos por especie en cada mes del año
grafico_barras_ggplot2 <-
felinos |>
ggplot(aes(x = month, fill = Especie)) +
scale_x_continuous(breaks = seq(1,12,1))+
scale_x_continuous(breaks = seq(1,12,1), labels = c("1" = "Enero", "2" = "Febrero", "3" = "Marzo", "4" = "Abril",
"5" = "Mayo", "6" = "Junio", "7" = "Julio", "8" = "Agos",
"9" = "Setie", "10" = "Octu", "11" = "Nov", "12" = "Diciembre"))+
geom_bar() +
ggtitle("Cantidad Registros felinos por Especie en cada mes del año") +
xlab("mes") +
ylab("Cantidad") +
labs(fill = "Especie") +
theme_minimal()
# Gráfico de barras plotly
ggplotly(grafico_barras_ggplot2) |>
config(locale = 'es')library(sf)
ASP <-
st_read("c:/r/clase71122/ign/Areassilvestresprotegidas.shp",
quiet = TRUE # para evitar el despliegue de mensajes
)
st_crs(ASP)Coordinate Reference System:
User input: CR05 / CRTM05
wkt:
PROJCRS["CR05 / CRTM05",
BASEGEOGCRS["CR05",
DATUM["Costa Rica 2005",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",5365]],
CONVERSION["Costa Rica TM 2005",
METHOD["Transverse Mercator",
ID["EPSG",9807]],
PARAMETER["Latitude of natural origin",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8801]],
PARAMETER["Longitude of natural origin",-84,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8802]],
PARAMETER["Scale factor at natural origin",0.9999,
SCALEUNIT["unity",1],
ID["EPSG",8805]],
PARAMETER["False easting",500000,
LENGTHUNIT["metre",1],
ID["EPSG",8806]],
PARAMETER["False northing",0,
LENGTHUNIT["metre",1],
ID["EPSG",8807]]],
CS[Cartesian,2],
AXIS["northing (N)",north,
ORDER[1],
LENGTHUNIT["metre",1]],
AXIS["easting (E)",east,
ORDER[2],
LENGTHUNIT["metre",1]],
USAGE[
SCOPE["Cadastre, engineering survey, topographic mapping (large and medium scale)."],
AREA["Costa Rica - onshore and offshore east of 86°30'W."],
BBOX[2.21,-86.5,11.77,-81.43]],
ID["EPSG",5367]]
# Transformación del CRS del objeto Areas silvestres protegidas a WGS84 (EPSG = 4326)
ASP <-
ASP |>
st_transform(4326)#Generación de mapa que muestra las siguientes cinco capas:Dos capas base (ej. OpenStreetMap); Capa raster de altitud de Costa Rica; Capa de polígonos de ASP de Costa Rica,capa de puntos de felinos de CR y ventana emergente (popup) que permite visualizar el nombre del ASP al hacer clic sobre el polígono, el nombre de la especie, la provincia, la localidad y la fecha.
library(leafem)
library(leaflet)
library(leaflet.extras)
library(leaflet.providers)
library(terra)
library(raster)
library(rgdal)
altitud <- rast("C:/r/clase71122/altitud.tif")
felinos3 <-
st_as_sf(felinos, coords = c("Long", "Lat"))
st_crs(felinos3) <- 4326
leaflet() |>
setView(# centro y nivel inicial de acercamiento
lng = -84.19452,
lat = 9.572735,
zoom = 7) |>
addTiles(group = "OpenStreetMap") |>
addProviderTiles(providers$Esri.NatGeoWorldMap) |>
addRasterImage(raster(altitud)) |>
addPolygons(
# capa de Areas silvestres protegidas (polígonos)
data = ASP,
color = "black",
fillColor = "transparent",
stroke = TRUE,
weight = 1.0
) |>
addCircleMarkers(
# capa de registros de presencia de felinos (puntos)
data = felinos3,
stroke = F,
radius = 4,
fillColor = 'green',
fillOpacity = 1,
group = "Felinos",
popup = paste(
paste0("<strong>Especie: </strong>", felinos$Especie),
paste0("<strong>Provincia: </strong>", felinos$Provincia),
paste0("<strong>Localidad: </strong>", felinos$Localidad),
paste0("<strong>Fecha: </strong>", felinos$Fecha)
)
) |>
addLayersControl(
baseGroups = c("OpenStreetMap", "Esri.NatGeoWorldMap"),
overlayGroups = c("Felinos", "altitud", "ASP")
) |> # control de capas
addResetMapButton() |> # botón de reinicio
addSearchOSM() |> # búsqueda en OSM
addMouseCoordinates() |> # coordenadas del puntero del ratón
addScaleBar(position = "bottomleft", options = scaleBarOptions(imperial = FALSE)) |> # barra de escala
addMiniMap(position = "bottomleft") # mapa de ubicación